--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
scripts/ci/setup-node.sh v4.5.0-rc.5 (eee4a4d7) Text, 1.98 KB
T8b949e#!/bin/sh
T8b949e# Install Node.js from the official binary distribution with SHA256 verification.
T8b949e# Source: https://nodejs.org
T8b949e# Usage: setup-node.sh [major_version]
Tffa657set -eu
. Ta5d6ff"Tff7b72$(dirname Ta5d6ff"Te6edf3$0Ta5d6ff"Tff7b72)Ta5d6ff/priv.shTa5d6ff"
Te6edf3NODE_MAJORTff7b72=Ta5d6ff"Tffd700${Te6edf31Tff7b72:-Te6edf324Tffd700}Ta5d6ff"
Te6edf3ARCHTff7b72=Ta5d6ff"Tff7b72$(uname -mTff7b72)Ta5d6ff"
Tff7b72case Ta5d6ff"Te6edf3$ARCHTa5d6ff" Tff7b72in
x86_64Tff7b72) Te6edf3ARCHTff7b72=Ta5d6ff"x64" Tb4b4b4;Tb4b4b4;
aarch64Tff7b72) Te6edf3ARCHTff7b72=Ta5d6ff"arm64" Tb4b4b4;Tb4b4b4;
armv7lTff7b72) Te6edf3ARCHTff7b72=Ta5d6ff"armv7l" Tb4b4b4;Tb4b4b4;
*Tff7b72) Tffa657echo Ta5d6ff"Ta5d6ffUnsupported architecture: Te6edf3$ARCHTa5d6ff" >Tb4b4b4&T79c0ff2Tb4b4b4; Tffa657exit T79c0ff1 Tb4b4b4;Tb4b4b4;
Tff7b72esac
Te6edf3DIST_URLTff7b72=Ta5d6ff"Ta5d6ffhttps://nodejs.org/dist/latest-vTffd700${Te6edf3NODE_MAJORTffd700}Ta5d6ff.xTa5d6ff"
curl -fsSL Ta5d6ff"Tffd700${Te6edf3DIST_URLTffd700}Ta5d6ff/SHASUMS256.txtTa5d6ff" -o /tmp/node-shasums.txt
Te6edf3VERSIONTff7b72=Ta5d6ff"Tff7b72$(grep -o Ta5d6ff"Ta5d6ffnode-v[0-9.]*-linux-Tffd700${Te6edf3ARCHTffd700}Ta5d6ff" /tmp/node-shasums.txt Tffea00\
Tb4b4b4| head -1 Tffea00\
Tb4b4b4| sed Ta5d6ff"Ta5d6ffs/-linux-Tffd700${Te6edf3ARCHTffd700}Ta5d6ff//Ta5d6ff" Tffea00\
Tb4b4b4| sed Ta5d6ff's/node-//'Tff7b72)Ta5d6ff"
Tff7b72if Tff7b72[ -z Ta5d6ff"Te6edf3$VERSIONTa5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffFailed to resolve Node.js vTffd700${Te6edf3NODE_MAJORTffd700}Ta5d6ff for Tffd700${Te6edf3ARCHTffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
Tffa657exit T79c0ff1
Tff7b72fi
Te6edf3TARBALLTff7b72=Ta5d6ff"Ta5d6ffnode-Tffd700${Te6edf3VERSIONTffd700}Ta5d6ff-linux-Tffd700${Te6edf3ARCHTffd700}Ta5d6ff.tar.xzTa5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ffInstalling Node.js Tffd700${Te6edf3VERSIONTffd700}Ta5d6ff (Tffd700${Te6edf3ARCHTffd700}Ta5d6ff)Ta5d6ff"
curl -fsSL Ta5d6ff"Tffd700${Te6edf3DIST_URLTffd700}Ta5d6ff/Tffd700${Te6edf3TARBALLTffd700}Ta5d6ff" -o /tmp/node.tar.xz
Te6edf3EXPECTEDTff7b72=Ta5d6ff"Tff7b72$(grep Ta5d6ff"Ta5d6ff Tffd700${Te6edf3TARBALLTffd700}Ta5d6ff\$Ta5d6ff" /tmp/node-shasums.txt Tb4b4b4| cut -dTa5d6ff' ' -f1Tff7b72)Ta5d6ff"
Te6edf3ACTUALTff7b72=Ta5d6ff"Tff7b72$(sha256sum /tmp/node.tar.xz Tb4b4b4| cut -dTa5d6ff' ' -f1Tff7b72)Ta5d6ff"
Tff7b72if Tff7b72[ -z Ta5d6ff"Te6edf3$EXPECTEDTa5d6ff" Tff7b72] Tff7b72|| Tff7b72[ Ta5d6ff"Te6edf3$EXPECTEDTa5d6ff" !Tff7b72= Ta5d6ff"Te6edf3$ACTUALTa5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffSHA256 verification failed for Tffd700${Te6edf3TARBALLTffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
Tffa657echo Ta5d6ff"Ta5d6ff expected: Tffd700${Te6edf3EXPECTEDTffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
Tffa657echo Ta5d6ff"Ta5d6ff got: Tffd700${Te6edf3ACTUALTffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
rm -f /tmp/node.tar.xz /tmp/node-shasums.txt
Tffa657exit T79c0ff1
Tff7b72fi
Tffa657echo Ta5d6ff"Ta5d6ffSHA256 verified: Tffd700${Te6edf3ACTUALTffd700}Ta5d6ff"
run_priv tar -xJf /tmp/node.tar.xz -C /usr/local --strip-componentsTff7b72=T79c0ff1
rm -f /tmp/node.tar.xz /tmp/node-shasums.txt
Tffa657export Te6edf3PATHTff7b72=Ta5d6ff"Ta5d6ff/usr/local/bin:Te6edf3$PATHTa5d6ff"
T8b949e# Act / Gitea runners often ship an older Node in /usr/bin; later steps start a new shell.
Tff7b72if Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3GITHUB_ENVTff7b72:-Tffd700}Ta5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffPATH=/usr/local/bin:Te6edf3$PATHTa5d6ff" >> Ta5d6ff"Te6edf3$GITHUB_ENVTa5d6ff"
Tff7b72fi
Tff7b72if Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3GITEA_ENVTff7b72:-Tffd700}Ta5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffPATH=/usr/local/bin:Te6edf3$PATHTa5d6ff" >> Ta5d6ff"Te6edf3$GITEA_ENVTa5d6ff"
Tff7b72fi
Tff7b72if Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3GITHUB_PATHTff7b72:-Tffd700}Ta5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"/usr/local/bin" >> Ta5d6ff"Te6edf3$GITHUB_PATHTa5d6ff"
Tff7b72fi
Tff7b72if Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3GITEA_PATHTff7b72:-Tffd700}Ta5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"/usr/local/bin" >> Ta5d6ff"Te6edf3$GITEA_PATHTa5d6ff"
Tff7b72fi
node --version
npm --version
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────